import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**
 * Created by jiangzeyin on 2017/7/18.
 */
public class testMap {

    public static void main(String[] a) {
        LinkedHashMap<Integer, Vlaue> map = new LinkedHashMap<>();
        {
            Vlaue vlaue = new Vlaue();
            vlaue.setId(100);
            vlaue.setTime(100700);
            map.put(1, vlaue);
        }
        {
            Vlaue vlaue = new Vlaue();
            vlaue.setId(101);
            vlaue.setTime(1076700);
            map.put(2, vlaue);
        }
        {
            Vlaue vlaue = new Vlaue();
            vlaue.setId(102);
            vlaue.setTime(1007700);
            map.put(3, vlaue);
        }
        {
            Vlaue vlaue = new Vlaue();
            vlaue.setId(103);
            vlaue.setTime(10787000);
            map.put(4, vlaue);
        }
        {
            Vlaue vlaue = new Vlaue();
            vlaue.setId(104);
            vlaue.setTime(1000890);
            map.put(5, vlaue);
        }
        System.out.println(map);
        List<Map.Entry<Integer, Vlaue>> list = new ArrayList<>(map.entrySet());
        list.sort((o1, o2) -> (o2.getValue().getTime() - o1.getValue().getTime()));
        map.clear();
        for (Map.Entry<Integer, Vlaue> item : list) {
            map.put(map.size() + 1, item.getValue());
        }
        System.out.println(map);
    }

    static class Vlaue {
        private int id;
        private int time;

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public int getTime() {
            return time;
        }

        public void setTime(int time) {
            this.time = time;
        }

        @Override
        public String toString() {
            return "Vlaue{" +
                    "id=" + id +
                    ", time=" + time +
                    '}';
        }
    }
}
